package bintree.leetcode;

/**
 * @Author: yuisama
 * @Date: 2021/9/7 13:38
 * @Description:对称二叉树
 * https://leetcode-cn.com/problems/symmetric-tree/
 */
public class Num101_IsSymmetricTree {
    public boolean isSymmetric(TreeNode root) {
        if (root == null)
            return true;
        return isMirror(root.left,root.right);
    }

    private boolean isMirror(TreeNode t1, TreeNode t2) {
        if (t1 == null && t2 == null) {
            return true;
        }
        if (t1 == null || t2 == null) {
            return false;
        }
        if (t1.val != t2.val) {
            return false;
        }
        return isMirror(t1.left,t2.right) && isMirror(t1.right,t2.left);
    }
}
